What can the programming language Rust do for astrophysics?
نویسندگان
چکیده
The astrophysics community uses different tools for computational tasks such as complex systems simulations, radiative transfer calculations or big data. Programming languages like Fortran, C or C++ are commonly present in these tools and, generally, the language choice was made based on the need for performance. However, this comes at a cost: safety. For instance, a common source of error is the access to invalid memory regions, which produces random execution behaviors and affects the scientific interpretation of the results. In 2015, Mozilla Research released the first stable version of a new programming language named Rust. Many features make this new language attractive for the scientific community, it is open source and it guarantees memory safety while offering zero-cost abstraction. We explore the advantages and drawbacks of Rust for astrophysics by re-implementing the fundamental parts of Mercury-T, a Fortran code that simulates the dynamical and tidal evolution of multi-planet systems.
منابع مشابه
Memory Management and Efficient Graph Processing in Rust
Rust is a systems programming language designed to have memory-safe abstractions, but not sacrifice performance in the process (as many compiled and interpreted programming languages do). In this project, we wanted to focus on how the language allowed us to build a performant graph library comparable to one implemented in any low-level programming language, but also allowed us to do so in a rel...
متن کاملOn Control Flow Hijacks of unsafe Rust
Rust is a newly designed systems programming language that aims at safety. However, as a systems language, Rust must be able to manipulate rawmemory and interact with native C codes freely. In this project, we demonstrate how the use of unsafe keyword can potentially undermine the security guarantees of Rust. Specifically, we provideworking demonstrations to show that in some circumstances, vul...
متن کاملUtilizing Rust Programming Language for EFI-Based Bootloader Design
Rust, as being a systems programming language, offers memory safety with zero cost and without any runtime penalty unlike other languages like C, C++ or Cyclone. System programming languages are mainly used for low level tasks such as design of operating system components, web browsers, game engines and time critical missions like signal processing. Main disadvantages of the existing systems la...
متن کاملWiddowson and Classroom Discourse
Drawing on recent developments in linguistic description and applied linguistics, it can be concluded that learning a language necessitates getting to know something and being able to do something with that knowledge: competence, and performance. Structural approach to language description attaches importance to the former; communicative approach to the latter. Appropriate classroom discours...
متن کاملImplementation and Exploration of Rust-based Graph Library
Rust is a safe systems programming language. It introduces the concept of ownership, used formemorymanagement to prevent segment fault, resulting from improper memory manipulation. However, this mechanism to guarantee memory safety may bring about obstacles for usage of shared memory resources. Graph is such an example with shared nodes and edges mutually connected to each other. In this report...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1702.02951 شماره
صفحات -
تاریخ انتشار 2017